-- @Author: 作者QQ381990860
-- @Date:   2021-11-05 10:34:34
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-23 06:58:58

local 场景类_战斗道具栏 = class()
local require = require
local tp,zts,zts1

function 场景类_战斗道具栏:初始化(根)
	self.ID = 104
	self.x = 220+(全局游戏宽度-800)/2
	self.y = 175
	self.xx = 0
	self.yy = 0
	self.注释 = "战斗"
	self.可视 = false
	self.鼠标 = false
	self.焦点 = false
	self.可移动 = true
	local 按钮 = require("script/System/按钮")
	local 资源 = 根.资源
    local 按钮 = 根._按钮
    local 自适应 = 根._自适应
    tp = 根
	self.资源组 = {
		[1] = 自适应.创建(0,1,290,261,3,9),
		[2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),
	}
	self.资源组[2]:绑定窗口_(104)

	self.物品 = {}
	local 格子 = require("script/System/物品_格子")
	for h=1,4 do
		for l=1,5 do
			self.物品[#self.物品 + 1] = 格子(l*51-37+self.x+4,h*51+self.y-16,#self.物品 + 1,"战斗道具_物品")
		end
	end
	self.窗口时间 = 0

	zts = tp.字体表.普通字体
    zts1 = tp.字体表.描边字体
end

function 场景类_战斗道具栏:打开(数据)
	if self.可视 then
		self.可视 = false
	else
		self.x = 220+(全局游戏宽度-800)/2
		for n=1,20 do
			self.物品[n]:置物品(数据[n])
		end
		self.可视 = true
		tp.运行时间 = tp.运行时间 + 1
	  	self.窗口时间 = tp.运行时间
	end
end

function 场景类_战斗道具栏:更新(dt,x,y)
end

function 场景类_战斗道具栏:显示(dt,x,y)
	if not self.可视 then
		return false
	end
	self.焦点 = false
	if self.鼠标 then
		self.资源组[2]:更新(x,y)
		if self.资源组[2]:事件判断() then
			self:打开()
		end
	else
		self.资源组[2].焦点 = 0
	end
	self.资源组[1]:显示(self.x,self.y)
	self.资源组[2]:显示(self.x + self.资源组[1].宽度-20,self.y + 3,true)
	tp.窗口标题背景_:显示(self.x+self.资源组[1].宽度/2-73,self.y)
    zts1:显示(self.x+self.资源组[1].宽度/2-37,self.y+1,"战斗道具栏")
	tp.物品格子背景_:显示(self.x + 17,self.y + 37)
	local n = 0
	for h=1,4 do
		for l=1,5 do
			n = n + 1
			self.物品[n]:置坐标(l*51-37+self.x+4,h*51+self.y-16)
			self.物品[n]:显示(dt,x,y,self.鼠标,"战斗道具")
			if self.物品[n].物品 ~= nil and self.物品[n].焦点 and self.鼠标 then
				tp.提示:道具行囊(x,y,self.物品[n].物品)
				if self.物品[n].事件 and self.鼠标 then
				  if self.物品[n].物品.类型 == "药品" or self.物品[n].物品.类型 == "暗器"   or (ItemData[self.物品[n].物品.名称].种类 and ItemData[self.物品[n].物品.名称].种类== "酒")then
							tp.场景.战斗.命令类型="道具"
		                    tp.场景.战斗.命令对象=1
		                    tp.场景.战斗.命令参数=n
		                    tp.鼠标.置鼠标("道具")
		                    tp.场景.战斗.命令版面=false
							self.可视 = false
				   elseif self.物品[n].物品.名称 == "逍遥镜" then
						tp.场景.战斗.操作单位[tp.场景.战斗.当前单位].类型="道具"
						tp.场景.战斗.操作单位[tp.场景.战斗.当前单位].目标=0
						tp.场景.战斗.操作单位[tp.场景.战斗.当前单位].参数=n
						tp.场景.战斗.命令版面=false
						self.可视 = false
						if tp.场景.战斗.当前单位==#tp.场景.战斗.操作单位 then
							tp.场景.战斗.回合进程="等待回合"
							tp.场景.战斗:指令完毕()
							客户端:发送数据(1, 235, 24, tp.场景.战斗:转文本(tp.场景.战斗.操作单位))
						else
							tp.场景.战斗.当前单位=tp.场景.战斗.当前单位+1
							tp.场景.战斗.命令版面=true
							tp.场景.战斗.捕捉开关=false
							tp.场景.战斗.法术开关=false
							tp.场景.战斗.保护开关=false
							tp.场景.战斗.命令类型="攻击"
							tp.场景.战斗.命令对象=2
							tp.鼠标.置鼠标("普通")
						end


				   end 
				end
			end
        end
	end
	if tp.按钮焦点 then
		self.焦点 = true
	end
	if 引擎.鼠标弹起(1)  and not tp.禁止关闭 and self.鼠标 then
		self:打开()
	end
end

function 场景类_战斗道具栏:检查点(x,y)
	if self.可视 and self.资源组[1]:是否选中(x,y)  then
		return true
	end
	return false
end

function 场景类_战斗道具栏:初始移动(x,y)
	tp.运行时间 = tp.运行时间 + 1
	if not 引擎.消息栏焦点 then
  		self.窗口时间 = tp.运行时间
 	end
	if not self.焦点 then
		tp.场景.战斗.移动窗口 = true
	end
	if self.可视 and self.鼠标 and  not self.焦点 then
		self.xx = x - self.x
		self.yy = y - self.y
	end
end

function 场景类_战斗道具栏:开始移动(x,y)
	if self.可视 and self.鼠标 then
		self.x = x - self.xx
		self.y = y - self.yy
	end
end

return 场景类_战斗道具栏